<!-- HTML header for doxygen 1.8.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ROSS: core/ross.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <a href="https://github.com/ROSS-org/ROSS">
   <div id="projectname">ROSS
   </div>
   </a>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_af18cf245e3394ab3b436135935cfd6e.html">core</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">ross.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;mpi.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="config_8h_source.html">config.h</a>&quot;</code><br/>
<code>#include &lt;errno.h&gt;</code><br/>
<code>#include &lt;sys/types.h&gt;</code><br/>
<code>#include &lt;math.h&gt;</code><br/>
<code>#include &lt;limits.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdarg.h&gt;</code><br/>
<code>#include &lt;stdint.h&gt;</code><br/>
<code>#include &lt;float.h&gt;</code><br/>
<code>#include &lt;sys/time.h&gt;</code><br/>
<code>#include &lt;time.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="buddy_8h_source.html">buddy.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-random_8h_source.html">ross-random.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="rand-clcg4_8h_source.html">rand-clcg4.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="amd64_8h_source.html">clock/amd64.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tw-timing_8h_source.html">tw-timing.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-types_8h_source.html">ross-types.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tw-opts_8h_source.html">tw-opts.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="network-mpi_8h_source.html">network-mpi.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-gvt_8h_source.html">ross-gvt.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-extern_8h_source.html">ross-extern.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-kernel-inline_8h_source.html">ross-kernel-inline.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="hash-quadratic_8h_source.html">hash-quadratic.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tw-queue_8h_source.html">queue/tw-queue.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="mpi__allreduce_8h_source.html">gvt/mpi_allreduce.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="st-instrumentation_8h_source.html">instrumentation/st-instrumentation.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tw-eventq_8h_source.html">tw-eventq.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ross-inline_8h_source.html">ross-inline.h</a>&quot;</code><br/>
</div>
<p><a href="ross_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a25f003de16c08a4888b69f619d70f427"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a25f003de16c08a4888b69f619d70f427">ARRAY_SIZE</a>(a)&#160;&#160;&#160;( sizeof((a)) / sizeof((a)[0]) )</td></tr>
<tr class="separator:a25f003de16c08a4888b69f619d70f427"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1728270d73c5d1598de1fd691762eb1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#aa1728270d73c5d1598de1fd691762eb1">NORETURN</a></td></tr>
<tr class="separator:aa1728270d73c5d1598de1fd691762eb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d373a9b65ff25b2db84c07394e1c212"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a9d373a9b65ff25b2db84c07394e1c212">__attribute__</a>(x)</td></tr>
<tr class="separator:a9d373a9b65ff25b2db84c07394e1c212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6311f95ce050a925b4639bdf74b75273"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a6311f95ce050a925b4639bdf74b75273">MPI_TYPE_TW_STIME</a>&#160;&#160;&#160;MPI_DOUBLE</td></tr>
<tr class="separator:a6311f95ce050a925b4639bdf74b75273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a273c2f3e8e704f34d62888aa26e61d73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a273c2f3e8e704f34d62888aa26e61d73">TW_STIME_CRT</a>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a273c2f3e8e704f34d62888aa26e61d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a096f73feb08316896d644277b486c9ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a096f73feb08316896d644277b486c9ea">TW_STIME_DBL</a>(x)&#160;&#160;&#160;(x)</td></tr>
<tr class="separator:a096f73feb08316896d644277b486c9ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a650bdf282bba8368dd3325bed7e12abc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a650bdf282bba8368dd3325bed7e12abc">TW_STIME_CMP</a>(x, y)&#160;&#160;&#160;(((x) &lt; (y)) ? -1 : ((x) &gt; (y)))</td></tr>
<tr class="separator:a650bdf282bba8368dd3325bed7e12abc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8d627b536187257705c435c79a5240"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a7d8d627b536187257705c435c79a5240">TW_STIME_ADD</a>(x, y)&#160;&#160;&#160;((x) + (y))</td></tr>
<tr class="separator:a7d8d627b536187257705c435c79a5240"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a471329bf2e6dd88767d6205a7dc5ce54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a471329bf2e6dd88767d6205a7dc5ce54">TW_STIME_MAX</a>&#160;&#160;&#160;DBL_MAX</td></tr>
<tr class="separator:a471329bf2e6dd88767d6205a7dc5ce54"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a1ec2e3807f66c4270f47acb0e555a519"><td class="memItemLeft" align="right" valign="top">typedef unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a1ec2e3807f66c4270f47acb0e555a519">tw_peid</a></td></tr>
<tr class="separator:a1ec2e3807f66c4270f47acb0e555a519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80b370bc538e17441aef6afaff852678"><td class="memItemLeft" align="right" valign="top">typedef double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a80b370bc538e17441aef6afaff852678">tw_stime</a></td></tr>
<tr class="separator:a80b370bc538e17441aef6afaff852678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a911515dff2fb79886a16ed44df5f9d20"><td class="memItemLeft" align="right" valign="top">typedef uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ross_8h.html#a911515dff2fb79886a16ed44df5f9d20">tw_lpid</a></td></tr>
<tr class="separator:a911515dff2fb79886a16ed44df5f9d20"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a9d373a9b65ff25b2db84c07394e1c212"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __attribute__</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00096">96</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

</div>
</div>
<a class="anchor" id="a25f003de16c08a4888b69f619d70f427"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARRAY_SIZE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a</td><td>)</td>
          <td>&#160;&#160;&#160;( sizeof((a)) / sizeof((a)[0]) )</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00088">88</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="tw-opts_8c_source.html#l00427">tw_opt_parse()</a>.</p>

</div>
</div>
<a class="anchor" id="a6311f95ce050a925b4639bdf74b75273"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MPI_TYPE_TW_STIME&#160;&#160;&#160;MPI_DOUBLE</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00151">151</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>.</p>

</div>
</div>
<a class="anchor" id="aa1728270d73c5d1598de1fd691762eb1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NORETURN</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00094">94</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7d8d627b536187257705c435c79a5240"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TW_STIME_ADD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;((x) + (y))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00155">155</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="ross-inline_8h_source.html#l00040">tw_event_new()</a>.</p>

</div>
</div>
<a class="anchor" id="a650bdf282bba8368dd3325bed7e12abc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TW_STIME_CMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((x) &lt; (y)) ? -1 : ((x) &gt; (y)))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00154">154</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="analysis-lp_8c_source.html#l00199">analysis_commit()</a>, <a class="el" href="analysis-lp_8c_source.html#l00146">analysis_event_rc()</a>, <a class="el" href="avl__tree_8c_source.html#l00251">avlDelete()</a>, <a class="el" href="avl__tree_8c_source.html#l00163">avlInsert()</a>, <a class="el" href="avl__tree_8c_source.html#l00040">avlSearch()</a>, <a class="el" href="tw-event_8c_source.html#l00107">event_cancel()</a>, <a class="el" href="network-mpi_8c_source.html#l00329">recv_finish()</a>, <a class="el" href="tw-event_8c_source.html#l00181">tw_event_rollback()</a>, <a class="el" href="tw-event_8c_source.html#l00009">tw_event_send()</a>, <a class="el" href="tw-eventq_8h_source.html#l00134">tw_eventq_fossil_collect()</a>, <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>, <a class="el" href="tw-kp_8c_source.html#l00023">tw_kp_rollback_to()</a>, <a class="el" href="network-mpi_8c_source.html#l00182">tw_net_minimum()</a>, <a class="el" href="splay_8c_source.html#l00065">tw_pq_compare_less_than()</a>, <a class="el" href="tw-sched_8c_source.html#l00139">tw_sched_batch()</a>, <a class="el" href="tw-sched_8c_source.html#l00273">tw_sched_batch_realtime()</a>, <a class="el" href="tw-sched_8c_source.html#l00021">tw_sched_event_q()</a>, <a class="el" href="tw-sched_8c_source.html#l00514">tw_scheduler_conservative()</a>, and <a class="el" href="tw-sched_8c_source.html#l00445">tw_scheduler_sequential()</a>.</p>

</div>
</div>
<a class="anchor" id="a273c2f3e8e704f34d62888aa26e61d73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TW_STIME_CRT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;(x)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00152">152</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="analysis-lp_8c_source.html#l00199">analysis_commit()</a>, <a class="el" href="analysis-lp_8c_source.html#l00146">analysis_event_rc()</a>, <a class="el" href="analysis-lp_8c_source.html#l00267">st_create_sample_event()</a>, <a class="el" href="tw-event_8c_source.html#l00181">tw_event_rollback()</a>, <a class="el" href="tw-sched_8c_source.html#l00733">tw_scheduler_optimistic_debug()</a>, and <a class="el" href="tw-sched_8c_source.html#l00445">tw_scheduler_sequential()</a>.</p>

</div>
</div>
<a class="anchor" id="a096f73feb08316896d644277b486c9ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TW_STIME_DBL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x</td><td>)</td>
          <td>&#160;&#160;&#160;(x)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00153">153</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="mpi__allreduce_8h_source.html#l00014">gvt_print()</a>, <a class="el" href="st-stats-buffer_8c_source.html#l00100">st_buffer_push()</a>, <a class="el" href="st-sim-engine_8c_source.html#l00102">st_collect_engine_data_kps()</a>, <a class="el" href="st-event-trace_8c_source.html#l00009">st_collect_event_data()</a>, <a class="el" href="st-model-data_8c_source.html#l00045">st_collect_model_data()</a>, <a class="el" href="analysis-lp_8c_source.html#l00267">st_create_sample_event()</a>, <a class="el" href="ross-inline_8h_source.html#l00040">tw_event_new()</a>, <a class="el" href="tw-event_8c_source.html#l00009">tw_event_send()</a>, <a class="el" href="mpi__allreduce_8c_source.html#l00069">tw_gvt_step1()</a>, <a class="el" href="mpi__allreduce_8c_source.html#l00079">tw_gvt_step1_realtime()</a>, <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>, <a class="el" href="tw-kp_8c_source.html#l00023">tw_kp_rollback_to()</a>, <a class="el" href="tw-sched_8c_source.html#l00514">tw_scheduler_conservative()</a>, <a class="el" href="tw-sched_8c_source.html#l00634">tw_scheduler_optimistic()</a>, <a class="el" href="tw-sched_8c_source.html#l00680">tw_scheduler_optimistic_realtime()</a>, and <a class="el" href="tw-sched_8c_source.html#l00445">tw_scheduler_sequential()</a>.</p>

</div>
</div>
<a class="anchor" id="a471329bf2e6dd88767d6205a7dc5ce54"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TW_STIME_MAX&#160;&#160;&#160;DBL_MAX</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00156">156</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

<p>Referenced by <a class="el" href="mpi__allreduce_8c_source.html#l00102">tw_gvt_step2()</a>, <a class="el" href="network-mpi_8c_source.html#l00182">tw_net_minimum()</a>, and <a class="el" href="splay_8c_source.html#l00345">tw_pq_minimum()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a911515dff2fb79886a16ed44df5f9d20"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint64_t <a class="el" href="ross_8h.html#a911515dff2fb79886a16ed44df5f9d20">tw_lpid</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00160">160</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1ec2e3807f66c4270f47acb0e555a519"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned long <a class="el" href="ross_8h.html#a1ec2e3807f66c4270f47acb0e555a519">tw_peid</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00147">147</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

</div>
</div>
<a class="anchor" id="a80b370bc538e17441aef6afaff852678"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef double <a class="el" href="ross_8h.html#a80b370bc538e17441aef6afaff852678">tw_stime</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="ross_8h_source.html#l00150">150</a> of file <a class="el" href="ross_8h_source.html">ross.h</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>
